# @Time    :2025/4/8 19:23
"""
UDP 编程相关
题目：编写一个 UDP 客户端和服务端程序，实现客户端向服务端发送一段文本消息，
服务端接收到消息后，
将消息反转后再发送回客户端，客户端接收并打印服务端返回的消息。
"""

import socket

# 创建socket对象
socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定ip和端口号
socket.bind(("127.0.0.1", 8083))
while True:
    # 接收数据
    recv_data, client_info = socket.recvfrom(1024)
    client_ip = client_info[0]
    client_port = client_info[1]
    message = recv_data.decode("utf-8")
    reversed_message = message[::-1]  # 反转消息
    #    print(f"服务器{client_info[0]}说：{recv_data.decode('utf-8')}")
    # 发送数据
    socket.sendto(reversed_message.encode('utf-8'), client_info)
    # 关闭socket对象
socket.close()
